package com.java.service;

import java.util.Collection;

import com.java.annotation.Role;
import com.java.model.Student;
import com.java.vo.Result;

/**
 * 执行方法接口
 */
public interface StudentService {
	
	/**
	 * 新增一个学生
	 */
	@Role("admin")
	public Result add(int id, String name, int age, double score);
	
	/**
	 * 新增学生
	 */
	public Result add(Student student);
	
	/**
	 * 修改指定学号学生的姓名
	 */
	public Result edit(int id, String name);
	
	/**
	 * 修改指定学号学生的成绩
	 */
	public Result edit(int id, double score);
	
	/**
	 * 修改指定学号学生的所有信息
	 */
	public Result edit(Student student);
	
	/**
	 * 删除指定ID的学生
	 */
	public Result delete(int id);
	
	/**
	 * 查找指定ID的学生
	 * 
	 * @return Student | null
	 */
	public Student find(int id);
	
	/**
	 * 打印所有学生信息
	 */
	public Collection<Student> listAll();
	
	/**
	 * 保存数据
	 */
	public void save();
	
	/**
	 * 加载数据
	 */
	public void load();
	
}
